package cn.iocoder.yudao.module.iot.controller.app.device.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;

@Schema(description = "用户 APP - IoT 产品 Response VO")
@Data
public class IotAppProductRespVO {
    @Schema(description = "产品ID", example = "1")
    private Long id;

    @Schema(description = "产品名称", example = "智能插座")
    private String name;

    @Schema(description = "产品标识", example = "abc123key")
    private String productKey;

    @Schema(description = "产品分类ID", example = "4")
    private Long categoryId;

    @Schema(description = "产品图标", example = "http://xxx/icon.png")
    private String icon;

    @Schema(description = "产品图片", example = "http://xxx/pic.png")
    private String picUrl;

    @Schema(description = "产品描述", example = "智能插座产品")
    private String description;

    @Schema(description = "产品状态", example = "1")
    private Integer status;

    @Schema(description = "设备类型", example = "0")
    private Integer deviceType;

    @Schema(description = "联网方式", example = "0")
    private Integer netType;

    @Schema(description = "接入网关协议", example = "0")
    private Integer protocolType;

    @Schema(description = "协议编号", example = "1")
    private Long protocolId;

    @Schema(description = "数据格式", example = "1")
    private Integer dataFormat;

    @Schema(description = "数据校验级别", example = "0")
    private Integer validateType;

    @Schema(description = "创建者", example = "admin")
    private String creator;

    @Schema(description = "创建时间")
    private LocalDateTime createTime;

    @Schema(description = "更新者", example = "admin")
    private String updater;

    @Schema(description = "更新时间")
    private LocalDateTime updateTime;

    @Schema(description = "是否删除", example = "false")
    private Boolean deleted;

    @Schema(description = "租户编号", example = "1")
    private Long tenantId;

    @Schema(description = "编解码器类型", example = "json")
    private String codecType;

    @Schema(description = "mac地址", example = "00:11:22:33:44:55")
    private String mac;

    /** 用户自定义产品名（iot_user_product.product_name） */
    private String productName;
} 